#pragma once

#include "pch.h"

namespace fxcc
{

    struct OggFile
    {
        std::string m_Path;

        std::vector<int16_t> m_PCMData;

        int m_Channels = 0;

        int m_SampleRate = 0;

        int m_SampleCount = 0;

        bool m_Available = false;

        OggFile(const std::string& path);

        ~OggFile();

        bool Load();

        int GetAlFormat();

        int16_t* Data()
        {
            return m_Available ? m_PCMData.data() : nullptr;
        }

        size_t DataSize();

        int SampleRate();

        int Channels();
    };
}
